<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

</body>
<script>
    // 封装一个函数  判断一个分数的等级  checkScore(50) => 不及格

    // 封装: 把完成特定功能的代码抽离出来,放到容器(函数)中,起一个名字(函数名) -> 后面可以通过函数名调用该函数

    // 封装的步骤:
    // 1. 完成特定功能的代码
    // 2. 封装函数  => 把完成特定功能的代码抽离出来,放到容器(函数)中,起一个名字(函数名)
    // 3. 把可变参数提取为形式参数 (函数外部传入 -> 调用时传入)
    // 4. 确定函数的返回值  => a. 用户可以自定义返回值  b.如果不定义返回值 默认返回undefined
    //    如果函数要求返回确切的值 -> 设置返回值
    //    如果函数不需要函数的执行结果, 将函数的结果输出到页面
    // 5. 调用函数
    //    函数名()


    // 注意:
    // 1. 函数在没有调用时,也是存储在电脑内存当中,函数名 == 变量名 ,通过函数名获取该函数
    // 2. 每次函数调用时,都会重新执行函数的上下文,返回函数的执行结果 -> 函数执行完毕,相关的局部变量和作用域 -> 被释放
    // 3. 函数遇到return就结束了,后面的代码不执行


    // var grade = Math.round(Math.random() * 100); // 0-100
    // console.log(grade);

    // if (grade >= 90) {
    //     document.write(grade + "分,优秀");
    // } else if (grade >= 80) {
    //     document.write(grade + "分,良好");
    // } else if (grade >= 70) {
    //     document.write(grade + "分,一般");
    // } else if (grade >= 60) {
    //     document.write(grade + "分,及格");
    // } else {
    //     document.write(grade + "分,不及格");
    // }


    /*  function checkScore(grade) {
         // var grade = Math.round(Math.random() * 100); // 0-100
         // console.log(grade);
 
         if (grade >= 90) {
             document.write(grade + "分,优秀");
         } else if (grade >= 80) {
             document.write(grade + "分,良好");
         } else if (grade >= 70) {
             document.write(grade + "分,一般");
         } else if (grade >= 60) {
             document.write(grade + "分,及格");
         } else {
             document.write(grade + "分,不及格");
         }
     }
 
 
     checkScore(96); */



    function checkScore(grade) {
        // var grade = Math.round(Math.random() * 100); // 0-100
        // console.log(grade);
        var result = null;
        if (grade >= 90) {
            result = "优秀";
        } else if (grade >= 80) {
            result = "良好";
        } else if (grade >= 70) {
            result = "一般";
        } else if (grade >= 60) {
            result = "及格";
        } else {
            result = "不及格";
        }
        return result;  // 返回值 -> 返回变量中存储的结果
    }

    // console.log(checkScore);

    var res = checkScore(96);  // 调用函数 -> 将函数的执行结果赋值给变量res
    console.log(res); //打印res

    var res = checkScore(86);
    console.log(res);

    console.log(1 + 1);
    console.log(checkScore(76));


</script>

</html>